package cn.jingyuan.bee.utils.convert.impl;

import cn.jingyuan.bee.utils.convert.AbstractConverter;

import java.time.Period;
import java.time.temporal.TemporalAmount;

/**
 * {@link Period} 对象转换器
 */
public class PeriodConverter extends AbstractConverter<Period> {

    @Override
    protected Period convertInternal(Object value) {
        if (value instanceof TemporalAmount) {
            return Period.from((TemporalAmount) value);
        } else if (value instanceof Integer) {
            return Period.ofDays((Integer) value);
        } else {
            return Period.parse(convertToStr(value));
        }
    }

}
